Stored program controlled switching systems have traditionally included a central computer that controlled switching functions in response to a program stored in memory. Although recent switching systems have distributed the call processing function among a number of system control units, many of the time-consuming tasks involved in call setup are still typically performed by a central control. For example, in one known digital switching system, the switching function is distributed among a plurality of switching modules. Each switching module has a plurality of ports and provides connections among the lines and trunks connected to the ports of that module. Calls involving lines or trunks connected to different modules are completed through a time-multiplexed switch that interconnects the modules. Each switching module includes a control unit that controls the switching function of that module. The system also includes a central control that controls the switching function of the time-multiplexed switch. Call handling in such systems requires the execution of a number of functions in addition to establishing connections. Although many of the real-time intensive tasks associated with calls, e.g., signal processing, are performed by the switching module control units, others, notably the determination of the identity of the terminating port of the switching system for each call, are performed by the system central control. The terminating port determination function includes such steps as call screening, determining whether a line or a trunk is required, translating dialed numbers into physical system addresses and hunting for idle members of trunk groups or multi-line hunt groups. These are time-consuming tasks which involve extensive database searching and data manipulation.
One of the important advantages of a modular system of this type is that its capacity can be closely matched to the requirements of specific applications. However, as the system becomes larger and the number of switching modules increases, the performance by the system central control of the per-call tasks associated with the terminating port determination function, imposes an upper limit on the overall system call processing capacity.
One known arrangement where the terminating port determination function is distributed involves a plurality of PBXs interconnected by tie trunks. A given PBX is capable of completing the terminating port determination function for calls to lines or trunks connected to that PBX. However, for calls to lines or trunks connected to the other PBXs, the data required to determine the terminating port is not present in the given PBX. The given PBX does store sufficient data to determine the destination PBX and the tie trunks that are connected therebetween. One of the interconnecting trunks is seized and the original dialed number is transmitted over that trunk. The destination PBX responds to the dialed number as a standard call, i.e., in the same manner as if the number had been dialed on a line connected to that PBX, and completes a connection to the terminating port.
Although the known arrangement is advantageous in that calls can be completed to lines or trunks connected to any of the interconnected systems without involving a central control, the overall call processing capacity is reduced due to the fact that the processing done by the first PBX involved in inter-PBX calls is not used to advantage by the second PBX in completing the call. Rather the second PBX processes the digits received over the interconnecting tie trunk in the same manner that calls originating on the second PBX are handled. Therefore the processing work done by the first PBX represents a net increase in the total processing requirements of the interconnected systems.
In view of the foregoing, a recognized problem in the art is the limitation on the call processing capacity of distributed control switching systems where the time-consuming tasks involved in determining the terminating port are performed by a system central control, or where the distribution of those tasks to distributed control units results in a substantial increase in the total processing load on the system.